# 第一题
from pathlib import Path


def rpath(pahtstr: Path, pathdict):
    pahtiter = pahtstr.iterdir()
    for p in pahtiter:
        if p.is_dir():
            pathdict[p] = []
            rpath(p, pathdict)
        elif p.is_file():
            if p.parent not in pathdict.keys():
                pathdict[p.parent] = []
            pathdict[p.parent].append(p)
            continue
    return pathdict


def pwd():
    cwd = Path.cwd()
    pathdict = {}
    print('cwd={}'.format(cwd))
    yield from rpath(cwd, pathdict).items()


for item in pwd():
    print(item)

# 当前路径输出了，子目录不是要求迭代所有层级的子目录，子要求当前路径下的子目录就行了。

# 第二题
def fn(lst: list, num: int):
    length = len(lst)
    ret = [(lst[i], lst[j]) for i in range(length) for j in range(i+1, length) if lst[i] + lst[j] == num]
    return ret


print(fn([1, 5, 2, 7, 4, 9], 11))

# 第二道题目完成的很棒。